[INFO] fetching crate nlprule 0.6.4...
[INFO] checking nlprule-0.6.4 against master#158f00a1c5175648af6f6099b075f78d1d014a28 for pr-121251
[INFO] extracting crate nlprule 0.6.4 into /workspace/builds/worker-4-tc1/source
[INFO] validating manifest of crates.io crate nlprule 0.6.4 on toolchain 158f00a1c5175648af6f6099b075f78d1d014a28
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate nlprule 0.6.4
[INFO] finished tweaking crates.io crate nlprule 0.6.4
[INFO] tweaked toml for crates.io crate nlprule 0.6.4 written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] crate crates.io crate nlprule 0.6.4 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded enum_dispatch v0.3.5
[INFO] [stderr]   Downloaded criterion v0.3.4
[INFO] [stderr]   Downloaded plotters-svg v0.3.0
[INFO] [stderr]   Downloaded plotters-backend v0.3.0
[INFO] [stderr]   Downloaded cast v0.2.5
[INFO] [stderr]   Downloaded fancy-regex v0.5.0
[INFO] [stderr]   Downloaded fs-err v2.5.0
[INFO] [stderr]   Downloaded half v1.7.1
[INFO] [stderr]   Downloaded srx v0.1.3
[INFO] [stderr]   Downloaded rayon-core v1.9.0
[INFO] [stderr]   Downloaded rayon v1.5.0
[INFO] [stderr]   Downloaded onig v6.1.1
[INFO] [stderr]   Downloaded bstr v0.2.15
[INFO] [stderr]   Downloaded onig_sys v69.6.0
[INFO] [stderr]   Downloaded rayon-cond v0.1.0
[INFO] [stderr]   Downloaded fst v0.4.5
[INFO] [stderr]   Downloaded plotters v0.3.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 65d2a9c87931d6c41c3faaf773060abdbd50b5d7084fb7fec4342ed3472e7fa2
[INFO] running `Command { std: "docker" "start" "-a" "65d2a9c87931d6c41c3faaf773060abdbd50b5d7084fb7fec4342ed3472e7fa2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "65d2a9c87931d6c41c3faaf773060abdbd50b5d7084fb7fec4342ed3472e7fa2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "65d2a9c87931d6c41c3faaf773060abdbd50b5d7084fb7fec4342ed3472e7fa2", kill_on_drop: false }`
[INFO] [stdout] 65d2a9c87931d6c41c3faaf773060abdbd50b5d7084fb7fec4342ed3472e7fa2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 61eec19b12b255aecf48156da2682ebbfa14ceda7072faa53df14619c4787446
[INFO] running `Command { std: "docker" "start" "-a" "61eec19b12b255aecf48156da2682ebbfa14ceda7072faa53df14619c4787446", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.26
[INFO] [stderr]    Compiling unicode-xid v0.2.1
[INFO] [stderr]    Compiling syn v1.0.70
[INFO] [stderr]    Compiling serde_derive v1.0.125
[INFO] [stderr]    Compiling serde v1.0.125
[INFO] [stderr]    Compiling memchr v2.3.4
[INFO] [stderr]    Compiling libc v0.2.93
[INFO] [stderr]    Compiling ryu v1.0.5
[INFO] [stderr]    Compiling serde_json v1.0.64
[INFO] [stderr]    Compiling rayon-core v1.9.0
[INFO] [stderr]     Checking scopeguard v1.1.0
[INFO] [stderr]     Checking regex-syntax v0.6.23
[INFO] [stderr]    Compiling semver-parser v0.7.0
[INFO] [stderr]    Compiling crossbeam-utils v0.8.3
[INFO] [stderr]    Compiling memoffset v0.6.3
[INFO] [stderr]    Compiling bitflags v1.2.1
[INFO] [stderr]    Compiling rayon v1.5.0
[INFO] [stderr]    Compiling getrandom v0.2.2
[INFO] [stderr]    Compiling semver v0.9.0
[INFO] [stderr]    Compiling log v0.4.14
[INFO] [stderr]    Compiling pkg-config v0.3.19
[INFO] [stderr]    Compiling cc v1.0.67
[INFO] [stderr]    Compiling num-traits v0.2.14
[INFO] [stderr]     Checking byteorder v1.4.3
[INFO] [stderr]    Compiling itoa v0.4.7
[INFO] [stderr]    Compiling rustc_version v0.2.3
[INFO] [stderr]    Compiling version_check v0.9.3
[INFO] [stderr]     Checking regex-automata v0.1.9
[INFO] [stderr]    Compiling fst v0.4.5
[INFO] [stderr]     Checking unicode-width v0.1.8
[INFO] [stderr]    Compiling fs-err v2.5.0
[INFO] [stderr]     Checking plotters-backend v0.3.0
[INFO] [stderr]     Checking textwrap v0.11.0
[INFO] [stderr]     Checking aho-corasick v0.7.15
[INFO] [stderr]     Checking csv-core v0.1.10
[INFO] [stderr]    Compiling cast v0.2.5
[INFO] [stderr]    Compiling once_cell v1.7.2
[INFO] [stderr]     Checking walkdir v2.3.2
[INFO] [stderr]     Checking clap v2.33.3
[INFO] [stderr]     Checking plotters-svg v0.3.0
[INFO] [stderr]    Compiling quote v1.0.9
[INFO] [stderr]     Checking oorandom v11.1.3
[INFO] [stderr]     Checking crossbeam-epoch v0.9.3
[INFO] [stderr]     Checking crossbeam-channel v0.5.1
[INFO] [stderr]    Compiling unicase v2.6.0
[INFO] [stderr]     Checking num_cpus v1.13.0
[INFO] [stderr]     Checking atty v0.2.14
[INFO] [stderr]     Checking rand_core v0.6.2
[INFO] [stderr]     Checking crossbeam-deque v0.8.0
[INFO] [stderr]     Checking rand v0.8.3
[INFO] [stderr]    Compiling onig_sys v69.6.0
[INFO] [stderr]     Checking plotters v0.3.0
[INFO] [stderr]     Checking regex v1.4.6
[INFO] [stderr]     Checking env_logger v0.8.3
[INFO] [stderr]     Checking quickcheck v1.0.3
[INFO] [stderr]     Checking onig v6.1.1
[INFO] [stderr]    Compiling thiserror-impl v1.0.24
[INFO] [stderr]    Compiling derivative v2.2.0
[INFO] [stderr]    Compiling enum_dispatch v0.3.5
[INFO] [stderr]    Compiling quickcheck_macros v1.0.0
[INFO] [stderr]     Checking thiserror v1.0.24
[INFO] [stderr]     Checking either v1.6.1
[INFO] [stderr]     Checking half v1.7.1
[INFO] [stderr]     Checking bstr v0.2.15
[INFO] [stderr]     Checking serde_regex v1.1.0
[INFO] [stderr]     Checking bimap v0.6.1
[INFO] [stderr]     Checking bincode v1.3.3
[INFO] [stderr]     Checking srx v0.1.3
[INFO] [stderr]     Checking itertools v0.9.0
[INFO] [stderr]     Checking itertools v0.10.0
[INFO] [stderr]     Checking itertools v0.8.2
[INFO] [stderr]     Checking serde_cbor v0.11.1
[INFO] [stderr]     Checking csv v1.1.6
[INFO] [stderr]     Checking tinytemplate v1.2.1
[INFO] [stderr]     Checking criterion-plot v0.4.3
[INFO] [stderr]    Compiling nlprule v0.6.4 (/opt/rustwide/workdir)
[INFO] [stderr]     Checking rayon-cond v0.1.0
[INFO] [stderr]     Checking criterion v0.3.4
[INFO] [stdout] warning: unused imports: `Captures`, `Match`, `Matches`
[INFO] [stdout]   --> src/utils/regex.rs:10:38
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub use regex_impl::{CaptureMatches, Captures, Match, Matches};
[INFO] [stdout]    |                                      ^^^^^^^^  ^^^^^  ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `maybe_par_iter_cond` is never used
[INFO] [stdout]   --> src/utils/parallelism.rs:94:8
[INFO] [stdout]    |
[INFO] [stdout] 87 | pub trait MaybeParallelRefIterator<'data, P, S>
[INFO] [stdout]    |           ------------------------ method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 94 |     fn maybe_par_iter_cond(&'data self, cond: bool) -> CondIterator<P, S>;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `maybe_par_iter_mut` and `maybe_par_iter_mut_cond` are never used
[INFO] [stdout]    --> src/utils/parallelism.rs:121:8
[INFO] [stdout]     |
[INFO] [stdout] 115 | pub trait MaybeParallelRefMutIterator<'data, P, S>
[INFO] [stdout]     |           --------------------------- methods in this trait
[INFO] [stdout] ...
[INFO] [stdout] 121 |     fn maybe_par_iter_mut(&'data mut self) -> CondIterator<P, S>;
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 122 |     fn maybe_par_iter_mut_cond(&'data mut self, cond: bool) -> CondIterator<P, S>;
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `maybe_par_bridge_cond` is never used
[INFO] [stdout]    --> src/utils/parallelism.rs:148:8
[INFO] [stdout]     |
[INFO] [stdout] 142 | pub trait MaybeParallelBridge<T, S>
[INFO] [stdout]     |           ------------------- method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 148 |     fn maybe_par_bridge_cond(self, cond: bool) -> CondIterator<IterBridge<S>, S>;
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 4 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Captures`, `Match`, `Matches`
[INFO] [stdout]   --> src/utils/regex.rs:10:38
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub use regex_impl::{CaptureMatches, Captures, Match, Matches};
[INFO] [stdout]    |                                      ^^^^^^^^  ^^^^^  ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `maybe_par_iter_cond` is never used
[INFO] [stdout]   --> src/utils/parallelism.rs:94:8
[INFO] [stdout]    |
[INFO] [stdout] 87 | pub trait MaybeParallelRefIterator<'data, P, S>
[INFO] [stdout]    |           ------------------------ method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 94 |     fn maybe_par_iter_cond(&'data self, cond: bool) -> CondIterator<P, S>;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `maybe_par_iter_mut_cond` is never used
[INFO] [stdout]    --> src/utils/parallelism.rs:122:8
[INFO] [stdout]     |
[INFO] [stdout] 115 | pub trait MaybeParallelRefMutIterator<'data, P, S>
[INFO] [stdout]     |           --------------------------- method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 122 |     fn maybe_par_iter_mut_cond(&'data mut self, cond: bool) -> CondIterator<P, S>;
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `maybe_par_bridge_cond` is never used
[INFO] [stdout]    --> src/utils/parallelism.rs:148:8
[INFO] [stdout]     |
[INFO] [stdout] 142 | pub trait MaybeParallelBridge<T, S>
[INFO] [stdout]     |           ------------------- method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 148 |     fn maybe_par_bridge_cond(self, cond: bool) -> CondIterator<IterBridge<S>, S>;
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 4 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 15.27s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: criterion v0.3.4
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
[INFO] running `Command { std: "docker" "inspect" "61eec19b12b255aecf48156da2682ebbfa14ceda7072faa53df14619c4787446", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "61eec19b12b255aecf48156da2682ebbfa14ceda7072faa53df14619c4787446", kill_on_drop: false }`
[INFO] [stdout] 61eec19b12b255aecf48156da2682ebbfa14ceda7072faa53df14619c4787446
[INFO] checking nlprule-0.6.4 against try#b4fc5dbf0bc33be331f9d893db5b3a794f29724a+rustflags=-Dexplicit_range -Dtrait_impl_range -Wrange_syntax -Wrange_bounds for pr-121251
[INFO] extracting crate nlprule 0.6.4 into /workspace/builds/worker-4-tc2/source
[INFO] validating manifest of crates.io crate nlprule 0.6.4 on toolchain b4fc5dbf0bc33be331f9d893db5b3a794f29724a
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate nlprule 0.6.4
[INFO] finished tweaking crates.io crate nlprule 0.6.4
[INFO] tweaked toml for crates.io crate nlprule 0.6.4 written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] crate crates.io crate nlprule 0.6.4 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] f961d14e6447562fe56929320dc88c3632b6def37f88f2f04748ca76e5b5a3e2
[INFO] running `Command { std: "docker" "start" "-a" "f961d14e6447562fe56929320dc88c3632b6def37f88f2f04748ca76e5b5a3e2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "f961d14e6447562fe56929320dc88c3632b6def37f88f2f04748ca76e5b5a3e2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f961d14e6447562fe56929320dc88c3632b6def37f88f2f04748ca76e5b5a3e2", kill_on_drop: false }`
[INFO] [stdout] f961d14e6447562fe56929320dc88c3632b6def37f88f2f04748ca76e5b5a3e2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Dexplicit_range -Dtrait_impl_range -Wrange_syntax -Wrange_bounds" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] c06b3e38e204c9d27fd3f6e09a314f6c9f471a8bd78bb183316968f3ba138b31
[INFO] running `Command { std: "docker" "start" "-a" "c06b3e38e204c9d27fd3f6e09a314f6c9f471a8bd78bb183316968f3ba138b31", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.26
[INFO] [stderr]    Compiling unicode-xid v0.2.1
[INFO] [stderr]    Compiling syn v1.0.70
[INFO] [stderr]    Compiling serde_derive v1.0.125
[INFO] [stderr]    Compiling serde v1.0.125
[INFO] [stderr]    Compiling libc v0.2.93
[INFO] [stderr]    Compiling memchr v2.3.4
[INFO] [stderr]    Compiling ryu v1.0.5
[INFO] [stderr]    Compiling serde_json v1.0.64
[INFO] [stderr]    Compiling semver-parser v0.7.0
[INFO] [stderr]    Compiling rayon-core v1.9.0
[INFO] [stderr]     Checking scopeguard v1.1.0
[INFO] [stderr]     Checking regex-syntax v0.6.23
[INFO] [stderr]    Compiling crossbeam-utils v0.8.3
[INFO] [stderr]    Compiling memoffset v0.6.3
[INFO] [stderr]    Compiling bitflags v1.2.1
[INFO] [stderr]    Compiling rayon v1.5.0
[INFO] [stderr]    Compiling cc v1.0.67
[INFO] [stderr]    Compiling semver v0.9.0
[INFO] [stderr]    Compiling getrandom v0.2.2
[INFO] [stderr]    Compiling log v0.4.14
[INFO] [stderr]    Compiling pkg-config v0.3.19
[INFO] [stderr]    Compiling num-traits v0.2.14
[INFO] [stderr]     Checking itoa v0.4.7
[INFO] [stderr]    Compiling rustc_version v0.2.3
[INFO] [stderr]    Compiling version_check v0.9.3
[INFO] [stderr]     Checking byteorder v1.4.3
[INFO] [stderr]     Checking unicode-width v0.1.8
[INFO] [stderr]    Compiling fst v0.4.5
[INFO] [stderr]     Checking aho-corasick v0.7.15
[INFO] [stderr]    Compiling fs-err v2.5.0
[INFO] [stderr]     Checking plotters-backend v0.3.0
[INFO] [stderr]     Checking textwrap v0.11.0
[INFO] [stderr]    Compiling cast v0.2.5
[INFO] [stderr]     Checking regex-automata v0.1.9
[INFO] [stderr]     Checking csv-core v0.1.10
[INFO] [stderr]    Compiling once_cell v1.7.2
[INFO] [stderr]    Compiling unicase v2.6.0
[INFO] [stderr]     Checking plotters-svg v0.3.0
[INFO] [stderr]     Checking walkdir v2.3.2
[INFO] [stderr]     Checking clap v2.33.3
[INFO] [stderr]     Checking oorandom v11.1.3
[INFO] [stderr]     Checking crossbeam-epoch v0.9.3
[INFO] [stderr]     Checking crossbeam-channel v0.5.1
[INFO] [stderr]    Compiling quote v1.0.9
[INFO] [stderr]     Checking num_cpus v1.13.0
[INFO] [stderr]     Checking atty v0.2.14
[INFO] [stderr]     Checking crossbeam-deque v0.8.0
[INFO] [stderr]    Compiling onig_sys v69.6.0
[INFO] [stderr]     Checking rand_core v0.6.2
[INFO] [stderr]     Checking rand v0.8.3
[INFO] [stderr]     Checking plotters v0.3.0
[INFO] [stderr]     Checking regex v1.4.6
[INFO] [stderr]     Checking env_logger v0.8.3
[INFO] [stderr]     Checking quickcheck v1.0.3
[INFO] [stderr]    Compiling thiserror-impl v1.0.24
[INFO] [stderr]    Compiling derivative v2.2.0
[INFO] [stderr]    Compiling enum_dispatch v0.3.5
[INFO] [stderr]    Compiling quickcheck_macros v1.0.0
[INFO] [stderr]     Checking onig v6.1.1
[INFO] [stderr]     Checking thiserror v1.0.24
[INFO] [stderr]     Checking either v1.6.1
[INFO] [stderr]     Checking half v1.7.1
[INFO] [stderr]     Checking serde_regex v1.1.0
[INFO] [stderr]     Checking bstr v0.2.15
[INFO] [stderr]     Checking bincode v1.3.3
[INFO] [stderr]     Checking bimap v0.6.1
[INFO] [stderr]     Checking srx v0.1.3
[INFO] [stderr]     Checking itertools v0.8.2
[INFO] [stderr]     Checking itertools v0.9.0
[INFO] [stderr]     Checking itertools v0.10.0
[INFO] [stderr]     Checking serde_cbor v0.11.1
[INFO] [stderr]     Checking csv v1.1.6
[INFO] [stderr]     Checking tinytemplate v1.2.1
[INFO] [stderr]     Checking criterion-plot v0.4.3
[INFO] [stderr]    Compiling nlprule v0.6.4 (/opt/rustwide/workdir)
[INFO] [stderr]     Checking rayon-cond v0.1.0
[INFO] [stderr]     Checking criterion v0.3.4
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/rule/engine/composition.rs:356:10
[INFO] [stdout]     |
[INFO] [stdout] 356 |         (lower.0..upper.0 + 1).map(GraphId)
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: requested on the command line with `-W range-syntax`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/rule/engine/composition.rs:512:50
[INFO] [stdout]     |
[INFO] [stdout] 512 |         let next_required_pos = match self.parts[index + 1..]
[INFO] [stdout]     |                                                  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/rule/engine/composition.rs:520:20
[INFO] [stdout]     |
[INFO] [stdout] 520 |         self.parts[index + 1..next_required_pos]
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/rule/engine/mod.rs:22:22
[INFO] [stdout]    |
[INFO] [stdout] 22 |             for i in 0..sentence.len() {
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/rule/engine/mod.rs:95:44
[INFO] [stdout]    |
[INFO] [stdout] 95 |             InnerMatches::Token(inner) => (inner.index..sentence.len()).find_map(|i| {
[INFO] [stdout]    |                                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/rule/engine/mod.rs:103:35
[INFO] [stdout]     |
[INFO] [stdout] 103 |                     if inner.mask[start..end].iter().all(|x| !x) {
[INFO] [stdout]     |                                   ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/rule/engine/mod.rs:104:36
[INFO] [stdout]     |
[INFO] [stdout] 104 |                         inner.mask[start..end].iter_mut().for_each(|x| *x = true);
[INFO] [stdout]     |                                    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/rule/engine/mod.rs:119:41
[INFO] [stdout]     |
[INFO] [stdout] 119 |                         let byte_span = group.start()..group.end();
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/rule/engine/mod.rs:129:50
[INFO] [stdout]     |
[INFO] [stdout] 129 | ...                   Span::new(byte_span, char_start..char_end)
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/rule/grammar.rs:136:31
[INFO] [stdout]     |
[INFO] [stdout] 136 |             && graph.groups()[graph.get_index(start)..]
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/rule/mod.rs:47:55
[INFO] [stdout]    |
[INFO] [stdout] 47 |         for (group, maybe_mask_val) in graph.groups()[1..].iter().zip(self.mask.iter()) {
[INFO] [stdout]    |                                                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/rule/mod.rs:321:50
[INFO] [stdout]     |
[INFO] [stdout] 321 |                 let first_token = graph.groups()[graph.get_index(start)..]
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/rules.rs:169:13
[INFO] [stdout]     |
[INFO] [stdout] 169 | /             (suggestion.span().char().start as isize + offset) as usize
[INFO] [stdout] 170 | |                 ..(suggestion.span().char().end as isize + offset) as usize,
[INFO] [stdout]     | |___________________________________________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/tokenizer/chunk.rs:202:43
[INFO] [stdout]     |
[INFO] [stdout] 202 |             let outcomes = &self.outcomes[*offset..*offset + length];
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/tokenizer/chunk.rs:203:47
[INFO] [stdout]     |
[INFO] [stdout] 203 |             let parameters = &self.parameters[*offset..*offset + length];
[INFO] [stdout]     |                                               ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/tokenizer/chunk.rs:248:18
[INFO] [stdout]     |
[INFO] [stdout] 248 |         for i in 0..tokens.len() {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/tokenizer/chunk.rs:337:36
[INFO] [stdout]     |
[INFO] [stdout] 337 |         let suffix: String = chars[i..].iter().collect();
[INFO] [stdout]     |                                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/tokenizer/chunk.rs:400:31
[INFO] [stdout]     |
[INFO] [stdout] 400 |                 &char_indices[char_start..char_start + pre_token.chars().count()];
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/tokenizer/chunk.rs:410:26
[INFO] [stdout]     |
[INFO] [stdout] 410 |                 for i in 1..token_char_indices.len() {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/tokenizer/chunk.rs:415:43
[INFO] [stdout]     |
[INFO] [stdout] 415 |                         tokens.push(&text[start..token_char_indices[i].0]);
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/tokenizer/chunk.rs:420:35
[INFO] [stdout]     |
[INFO] [stdout] 420 |                 tokens.push(&text[start..byte_start + pre_token.len()]);
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/tokenizer/chunk.rs:439:18
[INFO] [stdout]     |
[INFO] [stdout] 439 |         for i in 0..4 {
[INFO] [stdout]     |                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/tokenizer/chunk.rs:442:24
[INFO] [stdout]     |
[INFO] [stdout] 442 |                 &chars[std::cmp::max((chars.len() as isize) - 1 - i, 0) as usize..]
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/tokenizer/chunk.rs:448:18
[INFO] [stdout]     |
[INFO] [stdout] 448 |         for i in 0..4 {
[INFO] [stdout]     |                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/tokenizer/chunk.rs:565:54
[INFO] [stdout]     |
[INFO] [stdout] 565 |                 *prev_outcome == "O" || prev_outcome[2..] == outcome[2..]
[INFO] [stdout]     |                                                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/tokenizer/chunk.rs:565:70
[INFO] [stdout]     |
[INFO] [stdout] 565 |                 *prev_outcome == "O" || prev_outcome[2..] == outcome[2..]
[INFO] [stdout]     |                                                                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/tokenizer/chunk.rs:740:26
[INFO] [stdout]     |
[INFO] [stdout] 740 |                 (*chunk, char_start..char_end)
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/tokenizer/chunk.rs:746:18
[INFO] [stdout]     |
[INFO] [stdout] 746 |         for i in 0..internal_chunks.len() {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/tokenizer/chunk.rs:752:64
[INFO] [stdout]     |
[INFO] [stdout] 752 |                 for (next_chunk, char_span) in internal_chunks[i..].iter().cloned() {
[INFO] [stdout]     |                                                                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/tokenizer/tag.rs:681:60
[INFO] [stdout]     |
[INFO] [stdout] 681 |                         crate::utils::apply_to_first(&word[i..], |c| c.to_uppercase().collect())
[INFO] [stdout]     |                                                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/tokenizer/tag.rs:683:30
[INFO] [stdout]     |
[INFO] [stdout] 683 |                         word[i..].to_string()
[INFO] [stdout]     |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/tokenizer.rs:43:31
[INFO] [stdout]    |
[INFO] [stdout] 43 |             result.push(&text[last..index]);
[INFO] [stdout]    |                               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/tokenizer.rs:49:27
[INFO] [stdout]    |
[INFO] [stdout] 49 |         result.push(&text[last..]);
[INFO] [stdout]    |                           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/tokenizer.rs:216:37
[INFO] [stdout]     |
[INFO] [stdout] 216 |             let result = self.rules[i..n]
[INFO] [stdout]     |                                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/tokenizer.rs:274:33
[INFO] [stdout]     |
[INFO] [stdout] 274 |                 if !joined_mask[mat.start()..mat.end()].iter().any(|x| *x) {
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/tokenizer.rs:275:32
[INFO] [stdout]     |
[INFO] [stdout] 275 |                     joins.push(mat.start()..mat.end());
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/tokenizer.rs:276:33
[INFO] [stdout]     |
[INFO] [stdout] 276 |                     joined_mask[mat.start()..mat.end()]
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/tokenizer.rs:287:44
[INFO] [stdout]     |
[INFO] [stdout] 287 |             tokens.extend(split_text(&text[prev..range.start]));
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/tokenizer.rs:292:40
[INFO] [stdout]     |
[INFO] [stdout] 292 |         tokens.extend(split_text(&text[prev..text.len()]));
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/tokenizer.rs:298:13
[INFO] [stdout]     |
[INFO] [stdout] 298 |             byte_start..byte_start + token.len()
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/tokenizer.rs:336:25
[INFO] [stdout]     |
[INFO] [stdout] 336 |                         byte_start..byte_start + token_text.len(),
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/tokenizer.rs:337:25
[INFO] [stdout]     |
[INFO] [stdout] 337 |                         char_start..char_start + token_text.chars().count(),
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/types.rs:122:29
[INFO] [stdout]     |
[INFO] [stdout] 122 |             span: Span::new(0..text.len(), 0..text.chars().count()),
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/types.rs:122:44
[INFO] [stdout]     |
[INFO] [stdout] 122 |             span: Span::new(0..text.len(), 0..text.chars().count()),
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/types.rs:586:19
[INFO] [stdout]     |
[INFO] [stdout] 586 |             byte: start.byte..end.byte,
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/types.rs:587:19
[INFO] [stdout]     |
[INFO] [stdout] 587 |             char: start.char..end.char,
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Captures`, `Match`, `Matches`
[INFO] [stdout]   --> src/utils/regex.rs:10:38
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub use regex_impl::{CaptureMatches, Captures, Match, Matches};
[INFO] [stdout]    |                                      ^^^^^^^^  ^^^^^  ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/utils/regex.rs:246:35
[INFO] [stdout]     |
[INFO] [stdout] 246 |                     text: &self.1[start..end],
[INFO] [stdout]     |                                   ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/utils/regex.rs:275:31
[INFO] [stdout]     |
[INFO] [stdout] 275 |                 text: &self.1[start..end],
[INFO] [stdout]     |                               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/utils/regex.rs:335:26
[INFO] [stdout]     |
[INFO] [stdout] 335 |                 for i in 1..caps.len() {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/utils/mod.rs:55:43
[INFO] [stdout]    |
[INFO] [stdout] 55 |                     .any(|nospace_c| text[(i + c.len_utf8())..].starts_with(nospace_c))
[INFO] [stdout]    |                                           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `maybe_par_iter_cond` is never used
[INFO] [stdout]   --> src/utils/parallelism.rs:94:8
[INFO] [stdout]    |
[INFO] [stdout] 87 | pub trait MaybeParallelRefIterator<'data, P, S>
[INFO] [stdout]    |           ------------------------ method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 94 |     fn maybe_par_iter_cond(&'data self, cond: bool) -> CondIterator<P, S>;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `maybe_par_iter_mut` and `maybe_par_iter_mut_cond` are never used
[INFO] [stdout]    --> src/utils/parallelism.rs:121:8
[INFO] [stdout]     |
[INFO] [stdout] 115 | pub trait MaybeParallelRefMutIterator<'data, P, S>
[INFO] [stdout]     |           --------------------------- methods in this trait
[INFO] [stdout] ...
[INFO] [stdout] 121 |     fn maybe_par_iter_mut(&'data mut self) -> CondIterator<P, S>;
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 122 |     fn maybe_par_iter_mut_cond(&'data mut self, cond: bool) -> CondIterator<P, S>;
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `maybe_par_bridge_cond` is never used
[INFO] [stdout]    --> src/utils/parallelism.rs:148:8
[INFO] [stdout]     |
[INFO] [stdout] 142 | pub trait MaybeParallelBridge<T, S>
[INFO] [stdout]     |           ------------------- method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 148 |     fn maybe_par_bridge_cond(self, cond: bool) -> CondIterator<IterBridge<S>, S>;
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: explicit usage of `Range` type in public function
[INFO] [stdout]    --> src/types.rs:592:22
[INFO] [stdout]     |
[INFO] [stdout] 592 |     pub fn new(byte: Range<usize>, char: Range<usize>) -> Self {
[INFO] [stdout]     |                      ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: requested on the command line with `-D explicit-range`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: explicit usage of `Range` type in public function
[INFO] [stdout]    --> src/types.rs:592:42
[INFO] [stdout]     |
[INFO] [stdout] 592 |     pub fn new(byte: Range<usize>, char: Range<usize>) -> Self {
[INFO] [stdout]     |                                          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors; 54 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `nlprule` (lib) due to 3 previous errors; 54 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/rule/engine/composition.rs:356:10
[INFO] [stdout]     |
[INFO] [stdout] 356 |         (lower.0..upper.0 + 1).map(GraphId)
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: requested on the command line with `-W range-syntax`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/rule/engine/composition.rs:512:50
[INFO] [stdout]     |
[INFO] [stdout] 512 |         let next_required_pos = match self.parts[index + 1..]
[INFO] [stdout]     |                                                  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/rule/engine/composition.rs:520:20
[INFO] [stdout]     |
[INFO] [stdout] 520 |         self.parts[index + 1..next_required_pos]
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/rule/engine/mod.rs:22:22
[INFO] [stdout]    |
[INFO] [stdout] 22 |             for i in 0..sentence.len() {
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/rule/engine/mod.rs:95:44
[INFO] [stdout]    |
[INFO] [stdout] 95 |             InnerMatches::Token(inner) => (inner.index..sentence.len()).find_map(|i| {
[INFO] [stdout]    |                                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/rule/engine/mod.rs:103:35
[INFO] [stdout]     |
[INFO] [stdout] 103 |                     if inner.mask[start..end].iter().all(|x| !x) {
[INFO] [stdout]     |                                   ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/rule/engine/mod.rs:104:36
[INFO] [stdout]     |
[INFO] [stdout] 104 |                         inner.mask[start..end].iter_mut().for_each(|x| *x = true);
[INFO] [stdout]     |                                    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/rule/engine/mod.rs:119:41
[INFO] [stdout]     |
[INFO] [stdout] 119 |                         let byte_span = group.start()..group.end();
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/rule/engine/mod.rs:129:50
[INFO] [stdout]     |
[INFO] [stdout] 129 | ...                   Span::new(byte_span, char_start..char_end)
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/rule/grammar.rs:136:31
[INFO] [stdout]     |
[INFO] [stdout] 136 |             && graph.groups()[graph.get_index(start)..]
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/rule/mod.rs:47:55
[INFO] [stdout]    |
[INFO] [stdout] 47 |         for (group, maybe_mask_val) in graph.groups()[1..].iter().zip(self.mask.iter()) {
[INFO] [stdout]    |                                                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/rule/mod.rs:321:50
[INFO] [stdout]     |
[INFO] [stdout] 321 |                 let first_token = graph.groups()[graph.get_index(start)..]
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/rules.rs:169:13
[INFO] [stdout]     |
[INFO] [stdout] 169 | /             (suggestion.span().char().start as isize + offset) as usize
[INFO] [stdout] 170 | |                 ..(suggestion.span().char().end as isize + offset) as usize,
[INFO] [stdout]     | |___________________________________________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/tokenizer/chunk.rs:202:43
[INFO] [stdout]     |
[INFO] [stdout] 202 |             let outcomes = &self.outcomes[*offset..*offset + length];
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/tokenizer/chunk.rs:203:47
[INFO] [stdout]     |
[INFO] [stdout] 203 |             let parameters = &self.parameters[*offset..*offset + length];
[INFO] [stdout]     |                                               ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/tokenizer/chunk.rs:248:18
[INFO] [stdout]     |
[INFO] [stdout] 248 |         for i in 0..tokens.len() {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/tokenizer/chunk.rs:337:36
[INFO] [stdout]     |
[INFO] [stdout] 337 |         let suffix: String = chars[i..].iter().collect();
[INFO] [stdout]     |                                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/tokenizer/chunk.rs:400:31
[INFO] [stdout]     |
[INFO] [stdout] 400 |                 &char_indices[char_start..char_start + pre_token.chars().count()];
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/tokenizer/chunk.rs:410:26
[INFO] [stdout]     |
[INFO] [stdout] 410 |                 for i in 1..token_char_indices.len() {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/tokenizer/chunk.rs:415:43
[INFO] [stdout]     |
[INFO] [stdout] 415 |                         tokens.push(&text[start..token_char_indices[i].0]);
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/tokenizer/chunk.rs:420:35
[INFO] [stdout]     |
[INFO] [stdout] 420 |                 tokens.push(&text[start..byte_start + pre_token.len()]);
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/tokenizer/chunk.rs:439:18
[INFO] [stdout]     |
[INFO] [stdout] 439 |         for i in 0..4 {
[INFO] [stdout]     |                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/tokenizer/chunk.rs:442:24
[INFO] [stdout]     |
[INFO] [stdout] 442 |                 &chars[std::cmp::max((chars.len() as isize) - 1 - i, 0) as usize..]
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/tokenizer/chunk.rs:448:18
[INFO] [stdout]     |
[INFO] [stdout] 448 |         for i in 0..4 {
[INFO] [stdout]     |                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/tokenizer/chunk.rs:565:54
[INFO] [stdout]     |
[INFO] [stdout] 565 |                 *prev_outcome == "O" || prev_outcome[2..] == outcome[2..]
[INFO] [stdout]     |                                                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/tokenizer/chunk.rs:565:70
[INFO] [stdout]     |
[INFO] [stdout] 565 |                 *prev_outcome == "O" || prev_outcome[2..] == outcome[2..]
[INFO] [stdout]     |                                                                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/tokenizer/chunk.rs:740:26
[INFO] [stdout]     |
[INFO] [stdout] 740 |                 (*chunk, char_start..char_end)
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/tokenizer/chunk.rs:746:18
[INFO] [stdout]     |
[INFO] [stdout] 746 |         for i in 0..internal_chunks.len() {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/tokenizer/chunk.rs:752:64
[INFO] [stdout]     |
[INFO] [stdout] 752 |                 for (next_chunk, char_span) in internal_chunks[i..].iter().cloned() {
[INFO] [stdout]     |                                                                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/tokenizer/tag.rs:681:60
[INFO] [stdout]     |
[INFO] [stdout] 681 |                         crate::utils::apply_to_first(&word[i..], |c| c.to_uppercase().collect())
[INFO] [stdout]     |                                                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/tokenizer/tag.rs:683:30
[INFO] [stdout]     |
[INFO] [stdout] 683 |                         word[i..].to_string()
[INFO] [stdout]     |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/tokenizer.rs:43:31
[INFO] [stdout]    |
[INFO] [stdout] 43 |             result.push(&text[last..index]);
[INFO] [stdout]    |                               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/tokenizer.rs:49:27
[INFO] [stdout]    |
[INFO] [stdout] 49 |         result.push(&text[last..]);
[INFO] [stdout]    |                           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/tokenizer.rs:216:37
[INFO] [stdout]     |
[INFO] [stdout] 216 |             let result = self.rules[i..n]
[INFO] [stdout]     |                                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/tokenizer.rs:274:33
[INFO] [stdout]     |
[INFO] [stdout] 274 |                 if !joined_mask[mat.start()..mat.end()].iter().any(|x| *x) {
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/tokenizer.rs:275:32
[INFO] [stdout]     |
[INFO] [stdout] 275 |                     joins.push(mat.start()..mat.end());
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/tokenizer.rs:276:33
[INFO] [stdout]     |
[INFO] [stdout] 276 |                     joined_mask[mat.start()..mat.end()]
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/tokenizer.rs:287:44
[INFO] [stdout]     |
[INFO] [stdout] 287 |             tokens.extend(split_text(&text[prev..range.start]));
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/tokenizer.rs:292:40
[INFO] [stdout]     |
[INFO] [stdout] 292 |         tokens.extend(split_text(&text[prev..text.len()]));
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/tokenizer.rs:298:13
[INFO] [stdout]     |
[INFO] [stdout] 298 |             byte_start..byte_start + token.len()
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/tokenizer.rs:336:25
[INFO] [stdout]     |
[INFO] [stdout] 336 |                         byte_start..byte_start + token_text.len(),
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/tokenizer.rs:337:25
[INFO] [stdout]     |
[INFO] [stdout] 337 |                         char_start..char_start + token_text.chars().count(),
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/types.rs:122:29
[INFO] [stdout]     |
[INFO] [stdout] 122 |             span: Span::new(0..text.len(), 0..text.chars().count()),
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/types.rs:122:44
[INFO] [stdout]     |
[INFO] [stdout] 122 |             span: Span::new(0..text.len(), 0..text.chars().count()),
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/types.rs:586:19
[INFO] [stdout]     |
[INFO] [stdout] 586 |             byte: start.byte..end.byte,
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/types.rs:587:19
[INFO] [stdout]     |
[INFO] [stdout] 587 |             char: start.char..end.char,
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Captures`, `Match`, `Matches`
[INFO] [stdout]   --> src/utils/regex.rs:10:38
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub use regex_impl::{CaptureMatches, Captures, Match, Matches};
[INFO] [stdout]    |                                      ^^^^^^^^  ^^^^^  ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/utils/regex.rs:246:35
[INFO] [stdout]     |
[INFO] [stdout] 246 |                     text: &self.1[start..end],
[INFO] [stdout]     |                                   ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/utils/regex.rs:275:31
[INFO] [stdout]     |
[INFO] [stdout] 275 |                 text: &self.1[start..end],
[INFO] [stdout]     |                               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/utils/regex.rs:335:26
[INFO] [stdout]     |
[INFO] [stdout] 335 |                 for i in 1..caps.len() {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/utils/mod.rs:55:43
[INFO] [stdout]    |
[INFO] [stdout] 55 |                     .any(|nospace_c| text[(i + c.len_utf8())..].starts_with(nospace_c))
[INFO] [stdout]    |                                           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `maybe_par_iter_cond` is never used
[INFO] [stdout]   --> src/utils/parallelism.rs:94:8
[INFO] [stdout]    |
[INFO] [stdout] 87 | pub trait MaybeParallelRefIterator<'data, P, S>
[INFO] [stdout]    |           ------------------------ method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 94 |     fn maybe_par_iter_cond(&'data self, cond: bool) -> CondIterator<P, S>;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `maybe_par_iter_mut_cond` is never used
[INFO] [stdout]    --> src/utils/parallelism.rs:122:8
[INFO] [stdout]     |
[INFO] [stdout] 115 | pub trait MaybeParallelRefMutIterator<'data, P, S>
[INFO] [stdout]     |           --------------------------- method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 122 |     fn maybe_par_iter_mut_cond(&'data mut self, cond: bool) -> CondIterator<P, S>;
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `maybe_par_bridge_cond` is never used
[INFO] [stdout]    --> src/utils/parallelism.rs:148:8
[INFO] [stdout]     |
[INFO] [stdout] 142 | pub trait MaybeParallelBridge<T, S>
[INFO] [stdout]     |           ------------------- method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 148 |     fn maybe_par_bridge_cond(self, cond: bool) -> CondIterator<IterBridge<S>, S>;
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 54 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "c06b3e38e204c9d27fd3f6e09a314f6c9f471a8bd78bb183316968f3ba138b31", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c06b3e38e204c9d27fd3f6e09a314f6c9f471a8bd78bb183316968f3ba138b31", kill_on_drop: false }`
[INFO] [stdout] c06b3e38e204c9d27fd3f6e09a314f6c9f471a8bd78bb183316968f3ba138b31
